<template>
	<view class="page-login">
		<image class="page-login-img" src="@/login/static/loginbg.jpg" mode=""></image>
		<view class="pug-loginwrap">
			<!-- 登录按钮 -->
			<view class="login__button text-center">
<!-- 				<icon class="iconfont icon-PauseCircle"></icon>
				<icon class="piconfont icon-zhekou"></icon> -->
				<!-- <button class="btn" open-type="getPhoneNumber" @getphonenumber="login">微信登陆</button> -->
				<button class="btn" @click="login('weixin')">微信登陆</button>
				
			</view>
			
			<view v-if="provider.indexOf('qq') != -1" @click="login('qq')">QQ</view>
			<view v-if="provider.indexOf('weixin') != -1" @click="login('weixin')">微信</view>
			<view v-if="provider.indexOf('sinaweibo') != -1" @click="login('sina')">新浪</view>
			
			<!-- 声明 -->
			<view class="login__tips">
				登录即代表同意
				<navigator url="/pages/login/mimi" style="color:#607d8b" open-type="navigate">《隐私政策》</navigator>
				和
				<navigator url="/pages/login/xieyi" style="color:#607d8b" open-type="navigate">《用户服务协议》</navigator>
			</view>
		</view>
	</view>
</template>


<script>

export default {
    data() {
        return {
			// 默认是0，代表登录成功以后跳转首页，如果是1是返回
			back: 0,
			backurl: "",
			provider: [],
			isLogin: null,
		};
    },
	onLoad(options){
		this.back = options.back
		this.backurl = options.backurl
	},
	// 监听页面显示。页面每次出现在屏幕上都触发
	// 当 uni-app 启动，或从后台进入前台显示
	onShow(){
		this.provider = getApp().globalData.provider
		// 防止h5或者开发阶段使用调试模式，登录成功以后就进入到首页不要登录了
		this.isLogin = this.$cache.get("isLogin")
		if(this.isLogin){
			uni.reLaunch({
				url: "/pages/index/index"
			})
		}
	},
    methods: {
        login: function(platformn) {
			let that = this;
			// 获取服务供应商 官方提供的方法实际上也是没有必要，我这里完全可以自己判断
			// uni.getProvider({
			// 	service: 'oauth',
			// 	success: function (res) {
			// 		// 支持qq登录
			// 		if (~res.provider.indexOf('qq')) {
			// 			console.log("这里是qq登录")
			// 		}else if (~res.provider.indexOf('weixin')) {
			// 			console.log("这里是weixin登录")
						
			// 		}
			// 	}
			// });
			if(platformn == 'qq'){
				console.log("qq开始登录")
				uni.login({
					provider: 'qq',
					success: function (loginRes) {
						console.log(JSON.stringify(loginRes));
					}
				});
			}else if(platformn == 'weixin'){
				console.log("weixin开始登录")
				uni.getUserProfile({
					desc: '用于完善会员资料',
					success: (res) => {
					    console.log("获取用户的个人信息",res)
						
						// 获取用户信息以后在做登录
						uni.login({
							provider: 'weixin',
							success: async function(loginRes) {
								// 获取到code
								let code = loginRes.code;
								let {avatarUrl,nickName,gender,country,province,city} = res.userInfo
								let params = {avatarUrl,nickName,gender,country,province,city,code}
								// 开始远程调用
								const resData = await that.$request.post(that.$api.login,params)
								// 获取到服务器返回的信息
								console.log("服务器最后返回的信息是",resData)
								// 同时把token放入到缓存中去，给后续需要token的接口提供数据
								const {token,user} = resData
								that.$cache.set("token",token)
								that.$cache.set("userId",user.id)
								that.$cache.set("user",user)
								that.$cache.set("isLogin",user.id != null)
								// 如果成功开始进行人脸识别
								
								console.log("back",that.back)
								// 这里0和undefined还有null都是空
								if(!that.back){
									// 使用switchTab来跳转
									uni.reLaunch({
										url: "/identity/filling/filling"
									})
								}else{
									console.log("backurl",that.backurl)
									// 从哪里过来就回到哪里去
									if(that.backurl){
										uni.reLaunch({
											url: that.backurl
										})
									}else{
										// 返回
										uni.navigateBack()
									}
									
								}
								
							}
						});
					}
				})
			}
			

        },
		
		
		
		// loginMain(e){
		// 	var that = this;
			
		// 	uni.login({
		// 		provider: 'weixin',
		// 		success: async function(res){
		// 			let code = res.code
		// 			const response = await that.$request.post("/user/login",{code})
		// 			console.log("response",response)
		// 		}
		// 	})

		// },
		
        
    }
};
</script>

<style lang="scss" scoped>
	@import "./login.scss"
	
</style>